Skip to content

VECTOR 0.3.0-experimental: VECTOR MIDI, phrases on the Octatrack's MIDI tracks - #1339

Merged
repeat98 merged 48 commits into
mainfrom
claude/midi-generators
Nov 8, 2026
Merged

repeat98 merged 48 commits into
mainfrom
claude/midi-generators

Conversation

@repeat98

@repeat98 repeat98 commented Nov 8, 2026

Copy link
Copy Markdown
Owner

VECTOR 0.3.0-experimental (VECTOR MIDI): VECTOR's phrases on the Octatrack's MIDI tracks.

What changes for the musician:

Version and packages: 0.3.0-experimental. The USB package is 4d37ad92 (29,774 B), built in the pinned toolchain on base 72defb09 (#1332). The card build compiles the same midi_generators.c list code. The native comparison matches in all 186 selections (76 built, 110 refused). The card .bss trap is closed: prepare.py puts uninitialised statics in .data as zeros and refuses any .bss, because octabam's native builder never zeroes it.

Compatibility: it uses only the base's generator table (ot_midi_generators) and stock sites VECTOR already declared. modules:compat and modules:pairs are green beside all 37 other modules. The conflicts with Analog BD and FM Synth stay as declared. The subscriber row in events.json/HOOKS.md goes in its own pull request after this release, since a module release carries no base edit.

Attribution: unchanged. VECTOR is the owner's module.

Evidence (sdk/octabam/modules/vector/TESTING.md):

  • Hardware: on the owner's MKII on 21 and 24 October 2026, development base 4fd515ff, package 49dc25cc, installed over USB. Seen there: choosing VECTOR, its pages, phrase edits, MIDI out on channel 1 recorded over USB, PROB/HUMN, remove and reinstall. Not seen: a power cycle, project save and reload, or a card build on hardware.
  • Owner exception (8 November 2026): the release rests on that run plus the emulator passes, not on a run of 4d37ad92. The manifest's hardware record names that run and what it does not cover, and the release notes say so.
  • Emulator only (ot_emu, labelled as such): USB 30/31, card 28/30, PROB/HUMN MIDI out 4/4, and the Improvement: the MIDI generator list starts with ARP, scrolls, and holds 16 generators #1332 list 31/32.

Validation commands and results:

  • npm run pr:ready: Ready. Two earlier runs timed out on unrelated community tests because the Mac was under load; those files pass on their own.
  • npm run module:doctor -- vector: every integration point green. "tested package" is informational and covered by the owner exception above.
  • npm run octatrack:module-packages -- --check: all identical. Nothing that feeds the packages changed after the isolated rebuild (merging main touched no sdk/octabam, compiler or Dockerfile inputs).
  • One test changed: module-update-notifications.test.ts expected the announcement title "VECTOR is now available". It reads the name from the catalogue, which this release renames to VECTOR MIDI.

Known follow-ups, not in this release:

  • The page footer on a generator's pages still names stock's page (MIDI NOTE / MIDI ARPEGGIATOR).
  • In NOTE SETUP, YES both confirms CHAN/BANK/PROG and picks the highlighted generator. The owner said to keep this.

What the guides lacked or got wrong: nothing for this release. The MIDI guide's list text was fixed in #1332.

Related to #1119. Supersedes #1141.

🤖 Generated with Claude Code

repeat98 and others added 30 commits October 21, 2026 19:10
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…VECTOR's fifth replay span

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…record

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sals, 0 mismatches) and module documents

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	docs/module-guides/midi-usb.md
#	sdk/machines/octatrack/EVENTS.md
#	sdk/machines/octatrack/events.json
#	sdk/machines/octatrack/module-adapters/machine-recipes.json
#	src/engine/assets/bootstrap-package.json
#	src/engine/assets/coldfire-packages.json
#	src/engine/assets/descriptor-recipes.json
#	src/engine/assets/dsp-packages.json
#	src/engine/assets/menu-recipes.json
#	src/engine/assets/module-build.json
#	src/engine/assets/platform-writes.json
#	src/engine/assets/requested-packages.json
#	src/engine/assets/resident-dsp.json
#	src/engine/assets/rom-packages.json
#	src/engine/assets/usb-audio-packages.json
#	src/engine/assets/utility-packages.json
…E as the track's NOTE/VEL/LEN, PROB, HUMN)

The owner's choice of 24 October 2026: VECTOR draws on SRC (TYPE DENS ROOT SCAL OCT SEED) and AMP (VEL ACNT GATE
SPAN OFST RPT; FUNC+AMP ROT DIR PROB HUMN); LFO, FX1 and FX2 stay stock's. OCT, VEL and GATE read and write the
track's own NOTE, VEL and LEN. PROB writes a trig condition on notes off the beat, HUMN micro-timing, from the seed
and the step. Choosing VECTOR turns NOT2-4 off and puts NOTE on its octave's C. Checked on the owner's MKII over USB
(TESTING.md): pages, knobs, PROB 1% and HUMN against recorded MIDI, grid-recording locks, OFF and removal, cost.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	docs/module-guides/midi-usb.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…matching refusals, 0 mismatches)

Module documents are not regenerated: modules:generate refuses 0.3.0 until the owner's approval for this exact
source (sdk/vector-build-approval.json still binds 0.2.4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ever it sits (#1119)

st_setup_page no longer tests for SRC SETUP's cursor on row 5: its callers
already ask on VECTOR's row (hooks.s alone, the base over USB, POLY8's shared
hooks from POLY8 0.3.3). The USB adapter dropped the same test since 0.2.5, so
it no longer rewrites it; the USB package's unit source is byte-identical and
0.2.5's package stays published (lagsBehind).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 0 mismatches of 162)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tree (212 proofs unchanged)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rted asset files

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…up-page

Generated package assets, Analog BD proofs and standalone recipe pins taken from main; they are rebuilt next. Machine recipes name the merged machine-ports.json and VECTOR's 0.2.6 sources (images unchanged).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…main

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (owner accepted 0.2.4's card evidence, 6 Nov 2026)

0.2.6 changes only st_setup_page's row-5 test in control.s and native.c; the test now requires exactly those two
capture inputs to differ and the manifest's qualification to name the current source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rted asset files

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ce tree (212 proofs unchanged)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…up-page

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…up-page

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
repeat98 and others added 18 commits November 8, 2026 13:10
…enerated control.s and hooks table, VECTOR's fifth replay span admitted

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lone recipes re-pinned

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… figures, evidence bindings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…changed), 0.2.5 package removed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…usals, 0 mismatches)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…istry row moves to its own PR, composition count 100

A card unit's .bss is never loaded or zeroed, so the MIDI generator registry's statics would start as whatever the boot left.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s unchanged, native comparison 186/0, USB package b66a440e)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d card image), the .bss note corrected

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…racks

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, pins and figures

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d37ad92, native comparison 186/0); the hardware record names the 24 October unit run (owner, 8 November 2026)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@repeat98
repeat98 merged commit e531e71 into main Nov 8, 2026
10 checks passed
repeat98 added a commit that referenced this pull request Nov 8, 2026
… generator becomes its own module (#1342)

* VECTOR 0.3.1: rolls 0.3.0 back to 0.2.6's code, named VECTOR again; the MIDI generator becomes its own module (owner, 8 November 2026)

Reverts #1339 and applies #1141's card fix (#1119). The USB package stays the unit-tested 0.2.5 one under a declared lag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* VECTOR 0.3.1: card packages rebuilt in the pinned toolchain, native comparison 186/0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* VECTOR 0.3.1: machine and standalone recipe pins, Analog BD proofs re-exported (212 unchanged)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant